The following coassigned patent application(s) and patents are hereby incorporated herein by reference:
TI-28893P xe2x80x9cIntegrated Circuits, Systems, Apparatus, Packets and Processes Utilizing Path Diversity for Media Over Packet Applications,xe2x80x9d filed Jul. 9, 1999.
TI-27834P xe2x80x9cSystem for Dynamic Adaptation of Data/Channel Coding in Wireless Communicationsxe2x80x9d by J. DeMartin, A. McCree, and K. Anandakumar, Ser. No. 60/086,217 filed May 21, 1998.
TI-21753P xe2x80x9cPC Circuits, Systems and Methodsxe2x80x9d by John L. So, Ser. No. 60/014,734 filed Apr. 2, 1996.
TI25535 xe2x80x9cDevices, Methods, Systems and Software Products for Coordination of Computer Main Microprocessor and Second Microprocessor Coupled Theretoxe2x80x9d by John L. So, Jeffrey L. Kerr, Steven R. Magee and John Tang, Ser. No. 08/833,267 filed Apr. 4, 1997.
The present invention relates to the fields of integrated circuits, networking, systems and processes for packet communications, and especially communication of real time information such as voice, audio, images, video and other real time information over packet.
The Internet has long been usable for Internet file transfers and e-mail by packet switched communication. A different technology called circuit switched communication is used in the PSTN (public switched telephone network) wherein a circuit is dedicated to each phone call regardless of whether the circuit is being communicated over in silent periods. Packet switched networks do not dedicate a channel, thereby sharing a pipe or channel among many communications and their users. Packets may vary in their length, and have a header for source information, destination information, number of bits in the packet, how many items, priority information, and security information.
A packet of data often traverses several nodes as it goes across the network in xe2x80x9chops.xe2x80x9d In a stream of data, the packets representative thereof may, and often do, take different paths through the network to get the destination. The packets arrive out of order sometimes. The packets are not only merely delayed relative to the source, but also have delay jitter. Delay jitter is variability in packet delay, or variation in timing of packets relative to each other due to buffering within nodes in the same routing path, and differing delays and/or numbers of hops in different routing paths. Packets may even be actually lost and never reach their destination. Delay jitter is a packet-to-packet concept for the present purposes, and jitter of bits within a given packet is a less emphasized subject herein.
Voice over Packet (VOP) and Voice over Internet Protocol (VoIP) are sensitive to delay jitter to an extent qualitatively more important than for text data files for example. Delay jitter produces interruptions, clicks, pops, hisses and blurring of the sound and/or images as perceived by the user, unless and delay jitter problem can be ameliorated or obviated. Packets that are not literally lost, but are substantially delayed when received, may have to be discarded at the destination nonetheless because they have lost their usefulness at the receiving end. Thus, packets that are discarded, as well as those that are literally lost, are called xe2x80x9clost packetsxe2x80x9d herein except where a more specific distinction is made explicit or is plain from the context.
The user can rarely tolerate as much as half a second (500 milliseconds) of delay, and even then may avoid using VOP if its quality is perceptibly inferior to other readily available and albeit more expensive transmission alternatives. Such avoidance may occur with delays of 250 milliseconds or even less, while Internet phone technology hitherto may have suffered from end-to-end delays of as much as 600 milliseconds or more.
Hitherto, one approach has stored the arriving packets in a buffer, but if the buffer is too short, packets are lost. If the buffer is too long, it contributes to delay.
If the network is very congested, and the packet is routed by a large number of hops, the ratio of lost packets to sent packets in a given time window interval can rise not just to 5-10% but even to 25% or more, and the real time communication becomes degraded. VOP quality requires low lost packet ratio measured in a relatively short time window interval (length of oral utterance for instance, with each packet representing a compressed few centiseconds of speech). By contrast, text file reception can reorder packets during a relatively much longer window interval of reception of text and readying it for printing, viewing, editing, or other use. Voice can be multiplexed along with other data on a packet network inexpensively over long distances and internationally, at low expense compared with circuit-switched PSTN charges.
A Transport Control Protocol (TCP) sometimes used in connection with the IP (Internet Protocol) can provide for packet tags, detection of lost and out-of-order packets by examination of the packet tags and retransmission of the lost packets from the source. TCP is useful for maintaining transmission quality of e-mail and other non-real-time data. However, the delay inherent in the request-for-retransmission process currently may reduce the usefulness of TCP and other ARQ (automatic retransmission request) approaches as a means of enhancing VOP communications.
RTP (Real Time Transport Protocol) and RTCP (RTP Control Protocol) add time stamps and sequence numbers to the packets, augmenting the operations of the network protocol such as IP. However, these do not provide QoS (Quality of Service) control.
For real-time communication some solution to the problem of packet loss is imperative, and the packet loss problem is exacerbated in heavily-loaded packet networks. Also, even a lightly-loaded packet network with a packet loss ratio of 0.1% perhaps, still requires some mechanism to deal with the circumstances of lost packets.
A conventional speech compression algorithm has a portion that samples, digitizes and buffers speech in a frame buffer in frame intervals (e.g. 20 milliseconds), or frames, and another portion that compresses the sampled digitized speech from one of the frames while more speech is being added to the buffer. If the speech is sampled at 8 kiloHertz, then each 20 millisecond example frame has 160 analog speech samples (8xc3x9720). If an 8-bit analog to digital converter (ADC) is used, then 1280 bits (160xc3x978) result as the digitized form of the sampled speech in that 20 millisecond frame. Next the compression algorithm converts the 1280 bits to fewer bits carrying the same or almost the same speech information. Suppose the algorithm provides 8:1 compression. Then 1280/8 bits, or 160 bits of compressed or coded speech results from compression. The compressed speech is then put in the format of a packet, thus called packetized, by a packetizer process.
For every frame of compressed speech in a packet, loss of that packet means loss of each frame in that packet. There then arises the problem how to create 160 bits or more of lost compressed speech. One known approach simply repeats the most recent previous frame that is available at the receiving destination. Another known approach fills the output frame with silence (zeroes). Reduction of packet loss and packet loss handling strategy are very important challenges in advancing VOP technology.
In one form of the invention, a process of sending packets of real-time information at a sender includes steps of initially generating at the sender the packets of real-time information with a source rate greater than zero kilobits per second, and a time or path or combined time/path diversity rate, the amount of diversity initially being at least zero kilobits per second. The process sends the packets, thereby resulting in a quality of service QoS, and optionally obtains at the sender a measure of the QoS. Another step compares the QoS with a threshold of acceptability, and when the QoS is on an unacceptable side of said threshold increases the diversity rate and sends not only additional ones of the packets of real-time information but also sends diversity packets at the diversity rate as increased. Also, rate/diversity adaptation decision may be performed at receiver.
Increasing the diversity rate while either reducing or keeping unchanged the overall transmission rate is an important new improvement in even solely-time-diversity embodiments.
Further forms of the invention involve new criteria for initiating adaptation transitions, and new types of transitions including number of packets-per-seconds transitions, diversity transitions, source rate transitions and mixtures thereof.
In another form of the invention a single-chip integrated circuit includes a processor circuit, and a source rate/diversity control. Here again, the diversity is contemplated to be time diversity, path diversity and combined time/path diversity in various embodiments.
Other forms of the invention encompass other processes, improved packets and packet ensembles, integrated circuits, chipsets, computer add-in cards, information storage articles, systems, computers, gateways, routers, cellular telephone handsets, wireless base stations, appliances, and packet network, and other forms as claimed.